A switch fabric in a data communications switch facilitates the transport of data packets received from an ingress port to an egress port for forwarding the packet to a destination. The switch fabric may be implemented as a crossbar switch, cell switch, or shared memory packet switch. One advantage of the shared memory packet switch when compared to other types of switch fabrics is its robustness under high traffic loads. Shared memory packet switches generally provide for lower packet loss and lower latency than other types of switch fabrics.
Shared memory packet switches, however, typically provide a central logic for storing and accessing packets destined for all egress ports. As fabric size increases, this also increases the burden on the central logic. Thus, shared memory packet switches often suffer from a lack of scalability beyond a data rate 100 Gbit/sec.
U.S. Patent Application entitled “DISTRIBUTED SHARED MEMORY PACKET SWITCH,” filed on May 15, 2002, and assigned to the assignee of the present application, the content of which is incorporated herein by reference, proposes a solution for overcoming the problem of lack of scalability in shared memory packet switches via a distributed shared memory packet switch. Generally, the solution includes a shared memory packet switch made up of N packet buffer units coupled to M ingress control units and M egress control units. Each of the M ingress control units is coupled to the N packet buffer units by N ingress serial links where each ingress serial link is dedicated to a single packet buffer unit. Similarly, each of the M egress control units is coupled to the N packet buffer units by N egress serial links where each egress serial link is dedicated to a single packet buffer unit.
Each packet buffer unit includes a memory for storing a packet received from any of M ingress control units via their dedicated ingress serial links. Upon receipt of a packet by the packet buffer unit, notifications are sent to any of M egress control units that may be interested in the packet via their dedicated egress serial links. If an egress control unit determines that it has enough room in the appropriate egress queue, it transmits a booking message requesting that the packet be maintained by the packet buffer unit until requested by the egress control unit.
With the above-described solution, a situation may arise that at a particular instance of time, an egress control unit receives multiple notifications transmitted by multiple packet buffer units via their corresponding egress serial links, resulting in a burst-overload of notifications to be processed by the egress control unit. Accordingly, what is desired is a distributed shared memory packet switch that provides a non-bursty load of notifications to the egress control units.